package sort

import "fmt"

//利用未排序的部分和已排序的每个值对比交换
//初始时A[0] 为已排序
func InsertionSort(a []int) {
	n := len(a)
	if n <= 1 {
		return
	}
	for i := 1; i < n; i++ {
		val := a[i]
		j := i - 1
		for ; j >= 0; j-- {
			if a[j] > val {
				a[j+1] = a[j]
			} else {
				break
			}
		}
		a[j+1] = val
		fmt.Println(a)
	}
}
